1. Field of the Invention
The present invention relates to apparatus and methods for displaying and manipulating graphic information, and more particularly, the present invention relates to a computer controlled display system for displaying overlapping windows of data on a display.
2. Art Background
It is common for computer systems incorporating so-called xe2x80x9cobject orientedxe2x80x9d display systems to utilize multiple xe2x80x9cwindowsxe2x80x9d on a display in which combinations of text and graphics are disposed to convey information to a user. The windows may take the form of a variety of objects such as a file folder, loose leaf binder, or simple rectangle, and the windows may overlap one another with the xe2x80x9ctopxe2x80x9d window fully visible constituting the current work file.
It is generally believed that one origin of the object oriented display systems is a system known as xe2x80x9cSmalltalkxe2x80x9d. The Smalltalk approach is to replace many previously commonly coded programming commands with two-dimensional, or three-dimensional, graphics and animation on a computer display. It has been found that most people readily think in terms of images, and a person can absorb and manipulate information presented in a visual context faster than if represented by text. The particular type of graphic interface by which the user interacts with the machine may vary for any given application. For example, many of the object oriented display systems utilize various icons which symbolically indicate the type of operation the computer system will execute if the icon function is chosen. The icons are displayed in conjunction with the windows. In a window based display system, the user may delete information from the window, move data from one window to another, and generally operate on the window as if an actual file or the object is being manipulated. A variety of object oriented systems exist today, and are displayed on computers manufactured by the assignee, Sun Microsystems, Inc., as well as other manufacturers. The ability to operate on images which relate the user to actual objects on, for example, a desktop, results in a stronger man-machine interface. See, for example, D. Robson, xe2x80x9cObject-Oriented Software Systemsxe2x80x9d, BYTE, August 1981, p.74, Vol. 6, No. 8; L. Tesler, xe2x80x9cThe Smalltalk Environmentxe2x80x9d, BYTE, August 1981, p.90, Vol. 6, No. 8; and Smith, et al., xe2x80x9cStar User Interface; An Overviewxe2x80x9d, National Computer Conference, 1982.
Modern object oriented window based display systems are made possible, in part, through the use of bit-mapped frame buffer display memories. In a bit-map display system, a display element (referred to as a xe2x80x9cpixelxe2x80x9d) on the display screen is represented by one or more bits in a frame buffer memory. In its simplest form, a block of memory may be allocated in a data processing storage system with each memory bit (a 0 or 1) mapped onto a corresponding pixel on the display. Thus, an entire display screen full of data, in the form of images and/or text, is represented as either a 1 or a 0 in the frame buffer memory. In systems with multiple bits, typically at least eight, it is possible to vary the intensity and color of the pixels on the display.
Over the past ten years, a variety of systems have been developed to generate window based graphic user interface (GUI) displays. Many systems permit multiple overlapping windows to be displayed, wherein each of the windows represents a different application software program being executed by a processor coupled to the display system. In some systems, the application programs may be executing simultaneously, although the user operates only on the application program represented by the top window. In addition, in many cases only the top window is fully visible to the user with the windows underneath being fully or partially obscured. Thus, although the lower obscured windows may represent active application programs, the user is unable to fully observe the execution of the program since the top window obscures those windows which it overlaps (See, for example, U.S. Pat. No. 4,555,775, Issued November 1985 for a system which utilizes concurrent execution of multiple windows).
As will be described, the present invention uses a graphic display technique known as xe2x80x9ctransparencyxe2x80x9d to increase the amount of information presented in a window based system. Using traditional overlapping window concepts, the present invention utilizes a transparency mechanism to present information, such that the user can xe2x80x9csee throughxe2x80x9d certain windows to view underlying data and processes that would normally be obscured.
An apparatus and method is disclosed which has application for use in computer display systems, and in particular, display systems having object oriented graphic user interfaces with overlapping windows. A central processing unit (CPU) is provided and is coupled to a display for displaying graphic and other data in multiple overlapping windows. The CPU is further coupled to one or more input devices which permits a user to selectively position a cursor and input and manipulate data within each of the windows on the display. The windows include defined areas having window features such as text, icons and buttons corresponding to functions to be executed by the CPU. Multiple applications may be executed concurrently by the CPU such that each application is associated with one or more windows. Each display element (xe2x80x9cpixelxe2x80x9d) comprising the display is represented by multiple bits in a computer frame buffer memory coupled to the CPU. An alpha value (xcex1) is associated with the intensity of each pixel of the display, such that multiple images may be blended in accordance with a predefined formula utilizing the xcex1 values. By setting the xcex1 values appropriately, transparency may be accomplished such that data associated with underlying windows may be rendered visible to the user. Effectively, the present invention merges multiple images through a xe2x80x9cblendingxe2x80x9d such that several images appear transparently on top of one another. The present invention, through the selective use of a blending, permits underlying windows to display data visible to the user through windows which are overlaid above an underlying window.
Accordingly, rather than all windows obscuring other underlying windows, each window (or xe2x80x9cobjectxe2x80x9d) of the display system of the present invention has an xcex1 value associated with it which may be selectively set. In this way, windows do not need to be clipped with respect to one another, as required in the prior art. The windows are xe2x80x9cblendedxe2x80x9d using the xcex1 values to achieve a desired level of transparency. In one embodiment, a slider is displayed within each window which permits the xcex1 value to be set by a user through the use of a cursor control device. The xcex1 value may be set between the range of 0 and 1, where a setting of 1 results in the window being opaque, and a 0 setting resulting in the window being fully transparent. In addition, a window selection method is disclosed to permit a user to render a window xe2x80x9cactivexe2x80x9d and operate on its contents without disturbing the current window order on the display.